Multi-port selection and configuration

ABSTRACT

A multi-port configuration system includes a network switch including a plurality of ports and a user device that is configured to couple to the network switch. Each of the plurality of ports is configured to operate in at least one of a plurality of modes. A congruent graphical representation of the network switch is displayed on the user device, and a selection of a group of ports of the plurality of ports is received. Based on the received selection of the group of ports, available configuration settings for the group of ports are displayed on the user device. A configuration settings selection, selected from the available configuration settings, for configuring the group of ports is received. The configuration settings selection is provided to the network switch to configure the group of ports.

BACKGROUND

The present disclosure relates generally to information handling systems, and more particularly to a multi-port configuration system for configuring ports on an information handling system.

As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.

Information handling systems (IHSs) such as, for example, network IHSs, include the ability to transmit and receive Ethernet protocol communications via transceivers such as Small Form-factor Pluggable (SFP) transceivers, enhanced Small Form-factor Pluggable (SFP+) transceivers, 10 Gigabit Small Form-factor Pluggable (XFP) transceivers, Quad(4-channel) Small Form-factor Pluggable (QSFP or QSFP+) transceivers, and/or a variety of other transceivers known in the art. Depending on the type of transceiver used, a port on a network IHS may also include the ability to transmit data according to several variable transmission parameters including transmission speed, duplex mode, flow control, and/or a variety of other transmission parameters known in the art. Currently, regardless of whether a command-line interface (CLI) or graphical user interface (GUI) is used, network IHS port configuration requires a user to configure one IHS port at a time. Such IHS port configuration is tedious, time-consuming, and error-prone, particularly when groups of IHS ports share similar profiles. For example, a group of IHS ports may be assigned to the same virtual local area network (VLAN), local area group (LAG), or spanning tree, among others, and individual IHS port configuration in such cases can be especially susceptible to mistakes.

Accordingly, it would be desirable to provide an improved system for configuring ports on an IHS.

SUMMARY

According to one embodiment, a multi-port configuration system includes a network switch including a plurality of ports and a user device that is configured to couple to the network switch. Each of the plurality of ports is configured to operate in at least one of a plurality of modes. A congruent graphical representation of the network switch is displayed on the user device (e.g., by a wizard executing on the user device), and a selection of a group of ports of the plurality of ports is received by the user device. The user device may determine a port type for each port of the plurality of ports. Alternatively, the user device may determine a port type for each port of the selected group of ports. Based on the received selection of the group of ports, and the determined port types, available configuration settings for the group of ports are displayed on the user device. A configuration settings selection, selected from the available configuration settings for configuring the group of ports is received. The configuration settings selection is provided to the network switch to configure the group of ports.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view illustrating an embodiment of an information handling system (IHS);

FIG. 2 is a schematic view illustrating a network switch and a user device, in accordance with some embodiments;

FIG. 3 is a flow chart illustrating an embodiment of a method for configuring ports on a network switch; and

FIGS. 4-18 show illustrations of a multi-port configuration workflow, in accordance with the method of FIG. 3, for configuring ports on a network switch.

DETAILED DESCRIPTION

For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.

In one embodiment, IHS 100, FIG. 1, includes a processor 102, which is connected to a bus 104. Bus 104 serves as a connection between processor 102 and other components of IHS 100. An input device 106 is coupled to processor 102 to provide input to processor 102. Examples of input devices may include keyboards, touchscreens, pointing devices such as mouses, trackballs, and trackpads, and/or a variety of other input devices known in the art. Programs and data are stored on a mass storage device 108, which is coupled to processor 102. Examples of mass storage devices may include hard discs, optical disks, magneto-optical discs, solid-state storage devices, and/or a variety other mass storage devices known in the art. IHS 100 further includes a display 110, which is coupled to processor 102 by a video controller 112. A system memory 114 is coupled to processor 102 to provide the processor with fast storage to facilitate execution of computer programs by processor 102. Examples of system memory may include random access memory (RAM) devices such as dynamic RAM (DRAM), synchronous DRAM (SDRAM), solid state memory devices, and/or a variety of other memory devices known in the art. In an embodiment, a chassis 116 houses some or all of the components of IHS 100. It should be understood that other buses and intermediate circuits can be deployed between the components described above and processor 102 to facilitate interconnection between the components and the processor 102.

Referring now to FIG. 2, an embodiment of a multi-port configuration system 200, including a switch 202 and a user device 204, is illustrated. In some embodiments, the switch 202 includes an Ethernet switch IHS, but other Ethernet devices and IHSs (e.g., server IHSs, storage IHSs, desktop IHSs, portable IHSs, and/or a variety of other IHSs and devices) are envisioned as falling within the scope of the present disclosure. Alternatively, in some embodiments, the switch 202 includes a Fibre Channel switch IHS, but other Fibre Channel devices and IHSs (e.g., server IHS's, storage IHS's, desktop IHS's, portable IHS's, and/or a variety of other IHSs and devices) are envisioned as falling within the scope of the present disclosure. The switch 202 may be the IHS 100, discussed above with reference to FIG. 1, and/or may include some or all of the components of the IHS 100. The switch 202 includes a chassis 206 that houses a plurality of Ethernet switch IHS or Fibre Channel switch IHS components (e.g., the processor 102, storage device 108, system memory 114, and/or other IHS components discussed above with reference to FIG. 1, switching IHS components know in the art, and/or a variety of other IHS components known in the art). The switch 202 also includes an outer surface 208, and a plurality of ports 210 (e.g., Ethernet or Fibre Channel ports) are located on the chassis 206 and accessible on the outer surface 208. In an embodiment, the plurality of ports 210 are female ports (e.g., female Ethernet or Fibre Channel ports). For example, in some embodiments, the plurality of ports 210 includes a plurality of Ethernet ports including female SFP or SFP+ ports, female RJ45 ports, and/or a variety of other female Ethernet ports known in the art. In another example, the plurality of ports 210 includes a plurality of Fibre Channel ports including bidirectional (BiDi) optical ports, Lucent/Little/Local Connector (LC) optical ports, duplex LC optical ports, Subscriber/Square/Standard Connector (SC) optical ports, Multiple Fiber Push-On/Pull-Off (MTP/MPO) optical ports, and/or a variety of other optical ports known in the art. Thus, in some embodiments, the switch 202 is configured to communicate through the plurality of ports 210 using Ethernet protocol signals. Alternatively, in some embodiments, the switch 202 is configured to communicate through the plurality of ports 210 using Fibre Channel protocol signals (e.g., FCoE signals). In some embodiments, any of the plurality of ports 210 may be configured to transmit power using PoE methods known in the art.

In some embodiments, the user device 204 includes a computer system having a monitor 212, a keyboard 214, and a mouse 216. In some embodiments, the user device 204 is the IHS 100, discussed above with reference to FIG. 1, and/or may include some or all of the components of the IHS 100. The user device 204 is configured to communicate with the switch 202 wirelessly or through a cabled connection, as indicated by arrow 205, for example to configure one or more of the plurality of ports 210. While the user device 204 is illustrated as a desktop computer, it will be understood that the user device 204 may equally include a laptop computer, a tablet, or other computing device as known in the art while remaining within the scope of the present disclosure. As shown, the monitor 212 includes a display 218 which in the example of FIG. 2 displays a user interface (UI) which may be part of a directed workflow used for multi-port configuration, as described in more detail below with reference to FIGS. 3-18. In the embodiments described herein, a graphical representation 202A of the switch 202 can be provided on the display 218. In particular, the graphical representation 202A provides a congruent (i.e., accurate) physical representation of the switch 202. Thus, the layout of the plurality of ports 210, as shown in the display 218, is congruent with the actual layout of the plurality of ports 210 of the physical switch 202. In conventional systems, the port layout, as shown in displays (e.g., the display 218) of conventional UIs, may not be congruent with a physical switch (e.g., the switch 202). For example, conventional UIs may present ports as being vertically distributed when they are actually distributed horizontally. By providing UIs which accurately represent the physical port layout of a switch, embodiments of the present disclosure help to reduce user errors (e.g., when configuring ports) and increase user efficiency (e.g., by reducing an amount of time a user spends trying to find a port on the UI which corresponds to a particular physical port).

Consider now, for purposes of illustration, a situation where the plurality of ports 210 are divided into groups 220, 222, 224, and 226. Further, consider that the switch 202 is to be configured such that groups 220, 222, 224, 226 each correspond to a different port configuration (e.g., VLAN assignment, LAG assignment, or spanning tree assignment, etc.). It is noted that the port groupings 220, 222, 224, 226 are merely for purposes of illustration and other groupings may be equally employed without departing from the scope of the present disclosure. For example, in some embodiments, a group of ports of the plurality of ports 210 may include a single port. In another example, a group of ports of the plurality of ports 210 may include all the ports of the plurality of ports 210. Continuing with the present illustration, consider that the plurality of ports 210 of group 220 are to be assigned to a first VLAN, the plurality of ports 210 of group 222 are to be assigned to a second VLAN, the plurality of ports 210 of group 224 are to be assigned to a third VLAN, and the plurality of ports 210 of group 226 are to be used by PoE devices. In order for a user to configure each of the plurality of ports 210 for all port groups 220, 222, 224, 226, in accordance with the exemplary assignments given above and utilizing existing conventional practices, the user would generally (1) select an individual port of the plurality of ports 210 for configuration, (2) configure port parameters (e.g., VLAN mode and tagging membership), and (3) apply changes to the selected individual port. If the user wants to configure additional ports of the plurality of ports 210, for example using the same configuration as that of the previously configured port, the user would have to repeat steps (1), (2), and (3) for each port sharing the same VLAN configuration. Thus in general, for existing solutions, a user would have to perform such repeated steps for each port of the plurality of ports 210 for all port groups 220, 222, 224, 226, whether assigning ports to a particular VLAN, LAG, spanning tree, or PoE, etc. In the case of a 48-port switch, therefore, a user would have to perform the above steps 48 times each, greatly increasing the time required for port configuration and increasing the possibility of user error.

The embodiments of the present disclosure provide a streamlined and efficient method for IHS port configuration. As described in more detail below, embodiments disclosed herein provide for the selection and configuration of multiple ports simultaneously, avoiding costly time loss and potential user errors. Additionally, as discussed below with reference to FIGS. 3-18, directed workflows, for example implemented in the form of a software wizard, guide a user through the steps necessary to configure IHS ports. The use of such a wizard helps to break up complex tasks into smaller tasks, while accurately accounting for port dependencies. For example, depending on a port type (e.g., copper, SFP, or SFP+), certain workflows may be shown/hidden by the wizard in accordance with the port type(s) being configured. In various embodiments, the wizard can also display configuration summaries (e.g., via the display 218) prior to committing to and applying the configuration. As described above, embodiments of the present disclosure also provide a UI which corresponds to a physical switch/port layout. Thus, the present embodiments provide users, even users with limited IT skills, to efficiently perform IHS port configurations, thereby saving time and resources.

Referring now to FIG. 3, an embodiment of a method 300 for configuring ports on a network switch is illustrated. The method 300 begins at block 302 where a network switch IHS and a user IHS may each be separately provided. In an embodiment, the multi-port configuration system 200 discussed above with reference to FIG. 2, including the switch 202 configured to communicate with the user device 204, is provided. In some embodiments, each port of the plurality of ports 210 may include one of a variety of Ethernet port types or optical port types, as discussed above. Also, in various embodiments, each port of the plurality of ports 210 can be assigned to a particular virtual local area network (VLAN), local area group (LAG), spanning tree, or may be configured to transmit power using PoE, among other configurations as known in the art. In addition, each port of the plurality of ports 210 of the switch 202 is configured to operate in a plurality of different modes. For example, the plurality of different modes may include parameters such as transmission speed, duplex mode, flow control, auto-negotiation mode, and/or a variety of other configuration parameters known in the art.

The method 300 then proceeds to block 304 where the user IHS is coupled to the network switch IHS. Referring to FIG. 2, in an embodiment of block 304, the user device 204 is coupled to the switch 202. In one example, the user device 204 couples to the switch 202 by way of an Ethernet port connection. In some embodiments, upon coupling the user device 204 to the switch 202, the user device 204 may communicate with the switch 202 to determine a port type for each port of the plurality of ports 210 of the switch 202. The method 300 then proceeds to block 306 where a user interface including a congruent graphical representation of the switch 202 is displayed. As discussed above, in an embodiment of block 306, the user device 204 may display the graphical representation 202A of the switch 202. More particularly, in the embodiments discussed herein, the user device 204, which includes a plurality of IHS components (e.g., the processor 102, storage device 108, system memory 114, etc.), also includes program code that when executed by the processor cause the user device 204 to perform one or more steps associated with the methods described herein. For example, as described in more detail below with reference to FIGS. 4-18, the program code executed by the processor may cause the user device 204 to execute a directed workflow (e.g., implemented in the form of a software wizard) to guide a user through the steps necessary to configure a plurality of ports, such as the ports 210 of the switch 202.

Referring to FIG. 4, an exemplary graphical user interface (GUI) display 402, which is part of a directed workflow (i.e., wizard) used for multi-port configuration, is illustrated. In some embodiments, the GUI display 402 may be displayed on a user IHS device, such as the user device 204, shown in FIG. 2. In some examples, the display 402 includes a menu 404 which may be used to indicate a current stage of a port configuration process. Such port configuration stages, as implemented by the illustrative wizard, may include a port selection stage, a port descriptions stage, a port settings stage, and a summary stage. In various embodiments, the software including the directed workflow (i.e., the wizard) may already be executing on a user device IHS (e.g., the user device 204). Alternatively, a user may initiate the multi-port configuration workflow wizard by actively initiating the software application, for example, by way of the user device IHS. In some examples, the multi-port configuration wizard may be implemented within a modal window, thus requiring user interaction with the directed workflow windows to complete one or more of the multi-port configuration processes, as described herein.

In some embodiments, the display 402 includes a display of a first step (e.g., of the port selection stage) of a multi-port configuration workflow. In particular, the display 402 includes a congruent graphical representation 406 of a network switch IHS (e.g., such as the switch 202). In various embodiments, the particular styling of the graphical representation 406 depends on the physical network switch represented by the graphical representation 406. In addition, the network switch illustrated by the congruent graphical representation 406 includes a plurality of ports 408, 410. In some examples, some ports may have been previously configured (e.g., ports 410), as indicated by a check mark inside a box corresponding to such ports. Other ports which have not yet been configured, such as ports 408, may be indicated by an empty box corresponding to such ports. Informational text 412, may be provided, for example to inform a user of an expected wizard input. In the present example, the informational text 412 informs a user to select one or more ports to configure for attributes like port status and port speed. Additionally, the informational text 412 of the current example informs the user that changes will be applied to all port(s) selected. As described in more detail below, the directed workflow may proceed along one of a plurality of differing paths, depending on a port type and whether or not a particular port has been previously configured, among others. In addition, a current configurations link 414 may be provided to allow a user to view current configurations for each of the plurality of ports 408, 410. By way of example, and with reference to FIGS. 4 and 5, if a user clicks the current configurations link 414, a current port configurations window 502 may be displayed (e.g., by the user device 204). In some embodiments, the current port configurations window 502 includes a read-only popup window. In various embodiments, the current port configurations window 502 displays any of a plurality of port configuration information such as port status, port type (e.g., Ethernet, optical, etc.), LAN assignment, LAG assignment, spanning tree assignment, PoE assignment, transmission speed, duplex mode, flow control, auto-negotiation mode, and/or a variety of other configuration information as known in the art.

The method 300 then proceeds to block 308 where a selection of a group of ports to be configured is received. In an embodiment of block 308 and with reference to FIGS. 4 and 6, a group of ports 416 is selected (e.g., by a user) for configuration. It should be noted that while the exemplary selected group of ports 416 includes Ports 1-6, any alternative group of ports of the plurality of ports 408, 410 may alternatively be selected while remaining in the scope of the present disclosure. In some embodiments, upon selection of the group of ports 416, the user device 204 may communicate with the switch 202 to determine a port type for each port of the group of ports 416. In some embodiments, each port of the group of ports 416 may be selected by clicking (e.g., by a mouse) on one port at a time. In other embodiments, each port of the group of ports 416 may be selected by clicking (e.g., by a mouse) and dragging a selection box to encompass, and thereby select, all of the ports of the group of ports 416. In yet other embodiments, each port of the group of ports 416 may be selected by the use of context menus, by holding a keyboard ‘Shift’ key while clicking (e.g., to select a range of ports), by holding a keyboard ‘Ctrl’ key while clicking (e.g., to select any of a plurality of ports), or by other methods as known in the art. As discussed above, some ports may have been previously configured (e.g., ports 410), yet a user may include some previously configured ports in the selection of the group of ports 416. In some embodiments, if the multi-port configuration workflow wizard determines that previously configured ports are included in the selection of the group of ports 416, the wizard may display a user prompt 602. As shown in FIG. 6, the user prompt 602 displays information regarding which ports (e.g., of the group of ports 416) have previously been configured. In addition, the user prompt 602 confirms whether the user wants to override existing configurations of any previously configured ports of the group of ports 416. In some embodiments, with reference to the user prompt 602, if the user selects ‘No’, then the wizard may remove any previously configured ports from the selected group of ports 416. Alternatively, in some embodiments and with reference to the user prompt 602, if the user selects ‘Yes’, then the wizard may proceed with the configuration of all ports of the group of ports 416, as described below. In a further embodiment of block 308 and with reference to FIG. 7, and considering that the user has selected ‘Yes’ (at user prompt 602) to override any configuration of previously configured ports, selected ports of the group of ports 416 are indicated by a filled box 702, corresponding to such ports. In some embodiments, ports which have been previously configured (e.g., ports 410), and which are selected as part of the group of ports 416, may have any previously visible check mark masked by the filled box to indicate the port is currently selected to be configured. In various embodiments, upon completion of selection of a group of ports, such as the group of ports 416, a user may click a ‘Next’ button to proceed with port configuration, or a ‘Back’ button to go back and make a different selection of ports. Throughout the execution of the wizard, for example by the user device 204, the user may click a ‘Cancel’ button to abort the multi-port configuration wizard.

The method 300 then proceeds to block 310 where a description of the group of selected ports (e.g., ports 416) is received. With reference to FIG. 8, the multi-port configuration wizard proceeds to the port descriptions stage, as indicated by the menu 404. As shown in FIG. 8, the menu 404 also indicates successful completion of the port selection stage, as indicated by check mark 802. In an embodiment of block 310, FIG. 8 also illustrates a port description interface 804, where a user-defined description may be entered into text fields 806 which correspond to the selected group of ports 416 (FIG. 7). In this example, the selected group of ports 416 (FIG. 7) includes Port 1, Port 2, Port 3, Port 4, Port 5, and Port 6, as shown in FIG. 8. In some embodiments, the current configurations link 414 is again provided to allow a user to view current configurations for each of the plurality of ports 408, 410. In various embodiments, entering port descriptions is optional, and one or more of the text fields 806 may be left blank. Upon completion of entering of the port descriptions, or optionally skipping this step, a user may click a ‘Next’ button to proceed with the next stage of port configuration, a ‘Back’ button, or a ‘Cancel’ button.

The method 300 then proceeds to block 312 where available configuration settings for the selected ports (e.g., ports 416) are displayed, for example, by the user device 204. In some embodiments, the available configuration settings displayed may be based on the port type determination, as discussed above. With reference to FIG. 9, the multi-port configuration wizard proceeds to the port settings stage, as indicated by the menu 404. As shown in FIG. 9, the menu 404 also indicates successful completion of the port selection stage and the port descriptions stage, as indicated by check marks 802 and 902. In some embodiments, the current configurations link 414 is again provided to allow a user to view current configurations for each of the plurality of ports 408, 410. In an embodiment of block 312, FIG. 9 also illustrates a global port settings interface 904, where global settings for the selected ports may be configured, as indicated by informational text 906. In the present example, the selected group of ports 416 (FIG. 7), which includes Ports 1-6, may be summarized at row 908. In various embodiments, a port status (e.g., ‘Up’ or ‘Down’) may be selected at row 910. In some embodiments, an option to re-activate suspended ports may be enabled/disabled at row 912. The method 300 then proceeds to block 314 where a configuration settings selection for the selected ports (e.g., ports 416) is received, for example by user selection (e.g., by clicking on desired configuration settings) via the user device 204, based on the displayed available configuration settings presented in the global port settings interface 904. In some examples, the global parameters 910, 912 for the selected ports (as shown at row 908) may be automatically preset to preconfigured ‘default’ settings. Upon selection of the global parameters 910, 912, a user may click a ‘Next’ button to proceed with the next stage of port configuration, a ‘Back’ button, or a ‘Cancel’ button. In some embodiments, if only global parameters are to be set, then the method 300 may determine at block 316 that there are no additional port types, and the method may proceed to block 318, where a summary of selected port configuration settings is displayed (e.g., by the user device 204) for user verification, as discussed below. However, in other embodiments, upon selection of the global parameters, as discussed with reference to FIG. 9 and in an embodiment of block 314, the method may proceed to configuration of individual ports of the selected group of ports 416. As discussed above, in some cases, the selected group of ports, such as the group of ports 416, may be divided into groups which may correspond to different port types (e.g., copper, SFP, or SFP+). Further, depending on a port type of a particular port or group of ports, certain workflows may be shown/hidden by the wizard in accordance with the port type(s) being configured. For purposes of illustration, consider that the selected group of ports 416 (FIG. 7), which includes Ports 1-6, is divided into three groups, where Ports 1 and 2 include copper ports, Ports 3 and 4 include SFP ports, and Ports 5 and 6 include SFP+ ports. Following this example, and in accordance with embodiments of the present disclosure, after a user clicks the ‘Next’ button (e.g., at FIG. 9) to proceed with the next step of port configuration, the method 300 determines that there are additional port types (at block 316) and the multi-port configuration wizard may proceed by presenting different workflows (FIGS. 10-12), corresponding to each of the three groups of ports (copper Ports 1, 2; SFP Ports 3, 4; and SFP+ Ports 5, 6).

In particular, upon determining that there are additional port types (at block 316), the method 300 may return to block 312 where available configuration settings for the copper Ports 1, 2 are displayed, for example, by the user device 204. In some embodiments, the available copper port configuration settings displayed may be based on the port type determination, as discussed above. In some embodiments, the multi-port configuration wizard presents a workflow corresponding to copper Ports 1, 2, as shown in FIG. 10. In a further embodiment of block 312 of the method 300, FIG. 10 illustrates a copper port settings interface 1004, where settings for the detected copper Ports 1 and 2 may be configured, as indicated by informational text 1006. The current configurations link 414 may be again provided to allow a user to view current configurations for each of the plurality of ports 408, 410. In various embodiments, the available configuration settings for the detected copper ports (e.g., Ports 1 and 2) may be displayed, for example, by the user device 204. In the presently illustrated copper port settings interface 1004, identification of the copper ports (i.e., Ports 1 and 2) may be summarized at line 1008. In some embodiments, the specific port type (e.g., 100M-copper) may be shown at line 1010. A port operational status (e.g., ‘Active’, ‘Inactive’) may be shown at line 1012. Additionally, in various embodiments, the copper port settings interface 1004 provides for configuration of a plurality of copper port parameters 1014 such as port speed, duplex mode, auto negotiation mode, advertisement mode, energy efficient Ethernet mode, energy efficient Ethernet link layer discovery protocol (LLDP) mode, short reach energy saving mode, back pressure mode, flow control, and medium dependent interface (MDI)/medium dependent interface crossover (MDIX) mode, among others. It should be noted that some of the settings shown in the plurality of copper port parameters 1014 have been designated as ‘XXX’, where such a designation is simply used as a placeholder and may be replaced by any of a plurality of settings as known in the art. Moreover, while some examples of copper port configuration parameters have been given, other copper port configuration parameters as known in the art may be equally used without departing from the scope of the present disclosure. The method 300 then proceeds to block 314 where a configuration settings selection for the copper ports (e.g., Ports 1 and 2) is received, for example by user selection (e.g., by clicking on desired configuration settings) via the user device 204, based on the displayed available configuration settings presented in the copper port settings interface 1004. Upon selection of the plurality of copper port parameters 1014, after a user clicks the ‘Next’ button (e.g., at FIG. 10), the method 300 may determine that there are additional port types (at block 316), and the multi-port configuration wizard may proceed by presenting different workflows (FIGS. 11-12) corresponding to the next group of ports (e.g., SFP Ports 3, 4; or SFP+ Ports 5, 6).

In particular, the method 300 may return to block 312 where available configuration settings for the SFP Ports 3, 4 are displayed, for example, by the user device 204. In some embodiments, the available SFP port configuration settings displayed may be based on the port type determination, as discussed above. In some embodiments, the multi-port configuration wizard presents a workflow corresponding to SFP Ports 3, 4, as shown in FIG. 11. In a further embodiment of block 312 of the method 300, FIG. 11 illustrates an SFP port settings interface 1104, where settings for the detected SFP Ports 3 and 4 may be configured, as indicated by informational text 1106. The current configurations link 414 may be again provided to allow a user to view current configurations for each of the plurality of ports 408, 410. In various embodiments, the available configuration settings for the detected SFP ports (e.g., Ports 3 and 4) may be displayed, for example, by the user device 204. In the presently illustrated SFP port settings interface 1104, identification of the SFP ports (i.e., Ports 3 and 4) may be summarized at line 1108. In some embodiments, the specific port type (e.g., 100M-copper) may be shown at line 1110. A port operational status (e.g., ‘Active’, ‘Inactive’) may be shown at line 1112. Additionally, in various embodiments, the SFP port settings interface 1104 provides for configuration of a plurality of SFP port parameters 1114 such as port speed, duplex mode, and flow control, among others. It should be noted that some of the settings shown in the plurality of SFP port parameters 1114 have been designated as ‘XXX’, where such a designation is simply used as a placeholder and may be replaced by any of a plurality of settings as known in the art. Moreover, while some examples of SFP port configuration parameters have been given, other SFP port configuration parameters as known in the art may be equally used without departing from the scope of the present disclosure. The method 300 then proceeds to block 314 where a configuration settings selection for the SFP ports (e.g., Ports 3 and 4) is received, for example by user selection (e.g., by clicking on desired configuration settings) via the user device 204, based on the displayed available configuration settings presented in the SFP port settings interface 1104. Upon selection of the plurality of SFP port parameters 1014, after a user clicks the ‘Next’ button (e.g., at FIG. 11), the method 300 may determine that there are additional port types (at block 316), and the multi-port configuration wizard may proceed by presenting the next workflow (FIG. 12) corresponding to the next group of ports (e.g., SFP+ Ports 5, 6).

In particular, the method 300 may return to block 312 where available configuration settings for the SFP+ Ports 5, 6 are displayed, for example, by the user device 204. In some embodiments, the available SFP+ port configuration settings displayed may be based on the port type determination, as discussed above. In some embodiments, the multi-port configuration wizard may proceed by presenting a workflow corresponding to SFP+ Ports 5, 6, as shown in FIG. 12. In a further embodiment of block 312 of the method 300, FIG. 12 illustrates an SFP+ port settings interface 1204, where settings for the detected SFP+ Ports 5 and 6 may be configured, as indicated by informational text 1206. The current configurations link 414 may be again provided to allow a user to view current configurations for each of the plurality of ports 408, 410. In various embodiments, the available configuration settings for the detected SFP+ ports (e.g., Ports 5 and 6) may be displayed, for example, by the user device 204. In the presently illustrated SFP+ port settings interface 1204, identification of the SFP+ ports (i.e., Ports 5 and 6) may be summarized at line 1208. In some embodiments, the specific port type (e.g., 100M-copper) may be shown at line 1210. A port operational status (e.g., ‘Active’, ‘Inactive’) may be shown at line 1212. Additionally, in various embodiments, the SFP+ port settings interface 1204 provides for configuration of a plurality of SFP+ port parameters 1214 such as port speed, duplex mode, and flow control, among others. It should be noted that some of the settings shown in the plurality of SFP+ port parameters 1214 have been designated as ‘XXX’, where such a designation is simply used as a placeholder and may be replaced by any of a plurality of settings as known in the art. Moreover, while some examples of SFP+ port configuration parameters have been given, other SFP+ port configuration parameters as known in the art may be equally used without departing from the scope of the present disclosure. The method 300 then proceeds to block 314 where a configuration settings selection for the SFP+ ports (e.g., Ports 5 and 6) is received, for example by user selection (e.g., by clicking on desired configuration settings) via the user device 204, based on the displayed available configuration settings presented in the SFP+ port settings interface 1204. Upon selection of the plurality of SFP+ port parameters 1214, after a user clicks the ‘Next’ button (e.g., at FIG. 12), the method 300 may determine that there are no more additional port types to configure (at block 316), and the multi-port configuration wizard may proceed with the next stage of port configuration.

For example, the method 300 may then proceed to block 318 where a summary of selected port configurations (e.g., global settings, as well as settings for each port type) are displayed, for example, by the user device 204. With reference to FIG. 13, the multi-port configuration wizard proceeds to the summary stage, as indicated by the menu 404. As shown in FIG. 13, the menu 404 also indicates successful completion of the port selection stage, the port descriptions stage, and the port settings stage, as indicated by check marks 802, 902, and 1302, respectively. In an embodiment of block 318, FIG. 13 also illustrates a port settings summary interface 1304, which includes a congruent graphical representation 1306 of the network switch IHS (e.g., switch 202) that is being configured and a port settings detail section 1308. In the present example, a group of ports 1310, each indicated by a filled box 1312, provides a summary of ports (e.g., ports 1-6) which will have configuration settings applied (e.g., once a user clicks an ‘Apply’ button). In this example, the group of ports 1310 is the same as the group of ports 416 which were originally selected. However, in some cases, the group of ports 1310 to have settings applied may not be the same as an originally selected group of ports. In some embodiments, the port settings detail section 1308 includes a detailed view of each port to be configured, including port number, port type, and any one of the port configuration settings described above with reference to FIGS. 9-12. For purposes of illustration, with reference to the example described above, the port detail section 1308 may include global configuration parameters, copper port configuration parameters (e.g., for Ports 1 and 2), SFP port configuration parameters (e.g., for Ports 3 and 4), and SFP+ port configuration parameters (e.g., for Ports 5 and 6).

Once a user verifies the configuration settings to be applied (and to which ports) by way of the port settings summary interface 1304, the user may click an ‘Apply’ button (FIG. 13), and the method 300 then proceeds to block 320. At block 320, the configuration settings selections (e.g., global settings, as well as settings for each port type), as described above, are provided to the network switch IHS (e.g., switch 202) to configure the selected group of ports (e.g., ports 1310). Providing the configuration settings selections to the network switch IHS may include any of a variety of methods as known in the art. In some embodiments, a backend application, operating in conjunction with the frontend multi-port configuration wizard, may initiate commands to complete a desired output (i.e., providing configuration settings to the network switch IHS and configuring selected ports). By way of example, in some embodiments, the user device IHS (e.g., user device 204) may create a batch file which defines the configuration settings selections. In some examples, the batch file may be executed by one or more hardware processors of the user device IHS, which in turn communicates with the network switch IHS to configure the selected ports. In other examples, the batch file may be provided by the user device IHS to the network switch IHS, where it is executed by one or more hardware processors of the network switch IHS, which in turn configures the selected ports. While some examples of providing the configuration settings selections to the network switch have been described, other methods, as known in the art, of providing the configuration settings selections to the network switch for configuration of the selected ports may be used without departing from the scope of the present disclosure. As described in more detail below, when the user submits a port configuration job (e.g., by clicking the ‘Apply’ button as shown in FIG. 13), the backend application begins to apply the selected configuration settings to the selected ports. In some embodiments, configuration of the selected ports may be performed on one port at a time. In various embodiments, if the backend application encounters an error (or other issue) configuring a selected port, the backend application may flag the selected port and proceed to configuring a next port of the selected group of ports until the backend application has attempted to configure each port of the selected group of ports. In some embodiments, once the entire job (e.g., batch job) is complete, the user may be provided with a job output summary (e.g., by a user interface display of the user device 204).

Referring now to FIGS. 14-18, illustrated therein is a more detailed view of graphical UIs provided to a user during (and after) job execution (e.g., by the backend application discussed above). In some embodiments, upon user job submission and with reference to FIG. 14, the backend application may detect that one or more of the selected ports cannot be configured. In some examples, the one or more selected ports cannot be configured due to a hardware issue (e.g., the one or more selected ports are non-functional). In other cases, the desired port configuration may conflict with another configuration. For example, consider that a user configures ports first for a particular feature X, and then for a particular feature Y. In various embodiments, the multi-port configuration wizard software may check for dependencies between and/or among configured port features. Additionally, in some embodiments, the wizard may check for more global issues (e.g., some ports being configured for the feature Y may cause performance issues because of prior configuration of the feature X. In still other examples, the one or more selected ports may be part of a port channel, and a user may be attempting to apply configuration parameters which do not coincide to the port channel. In some cases, there may be a hardware configuration mismatch (e.g., configure a port for a VOIP phone and the port is actually connected to a camera, which would require different configuration parameters). The one or more selected ports may also be ‘down’ or disabled. While some examples of circumstances which could result in errors while attempting to configure the one or more selected ports have been given, other situations and/or circumstances as known in the art may also cause such errors, without departing from the scope of the present disclosure. In any event, if the backend application detects that one or more of the selected ports cannot be configured, the backend application may communicate with the wizard to display a user prompt 1402 (e.g., by a user interface display of the user device) that alerts a user as to which ports cannot be configured. In some embodiments, the user prompt 1402 may additionally request that the user to confirm whether or not to proceed with configuring any remaining ports which can be configured. In some embodiments, if the user selects ‘No’, then no ports may be configured and the method 300 may return to block 306. Alternatively, in some embodiments, if the user selects ‘Yes’, then the backend application may proceed to configure any ports (of the selected ports) which can be configured.

Referring now to FIGS. 15 and 16, illustrated therein is an embodiment of a job status graphical UI (FIG. 15) and job summary graphical UI (FIG. 16) which may be provided to a user during and after job execution, respectively. In some embodiments, upon user job submission and with reference to FIG. 15, a window 1502 (e.g., a modal popup window) may be provided (e.g., by a user interface of the user device 204) which provides a real-time status of progress of the submitted job. In the example illustrated in FIG. 15, a user may readily observe that configuration of Ports 1, 2, and 3 was successful, there was an error in the configuration of Port 4 (Port 4 was flagged and the process moved onto the next port, as discussed above), configuration of Port 5 is in progress, and configuration of Port 6 is pending. In various embodiments, because the task of configuring a plurality of ports may take a significant amount of time, and because the job may be asynchronous, the wizard submits the job to the backend (as discussed above) and periodically polls the backend application or the network switch IHS for a status of the job. Thus, in some embodiments, the term “real-time status” may refer to status updates which are provided at an interval substantially equal to the frequency of periodic polling. In some embodiments, if the user closes a window in which the wizard is executing (e.g., a web browser), the job can continue to execute, for example by way of the background application. In some embodiments, if the user logs out of the user device and logs back in (e.g., while the job is still running), the window 1502 may be provided (e.g., by a user interface of the user device 204), for example as a modal popup window, to display an updated real-time progress of the previously submitted job. Upon job completion, the job summary graphical UI (FIG. 16) including a window 1602 (e.g., a modal popup window) may be provided to the user (e.g., by a user interface of the user device 204). As shown in the summary UI of FIG. 16, informational text 1604 may notify a user that successful jobs (i.e., successful port configurations) have been applied to the running configuration, and if the user would like to apply the successful jobs to the startup configuration, the user should click the ‘Apply to Startup Configuration’ button. It should be noted that some switches (e.g., fibre switches) may not partition their configurations according to a startup configuration and a running configuration. Thus, in some cases, the ‘Apply to Startup Configuration’ button may be specific to switches that implement both startup and running configurations. In the present example, configuration of Ports 1, 2, 3, 5, and 6 was successful; however, there was an error in the configuration of Port. 4. In various embodiments, an error details link 1606 is provided to allow a user to view error details (e.g., a log file), and in some cases a recommended course of action to resolve the error, related to the configuration of the port which encountered the error (e.g., Port 4, in this example). In some examples, a recommended course of action to resolve the error may be included within the window 1602 (e.g., next to the Port 4 error status message). In some embodiments, if a user would like to retry the port configuration job, the user may click the ‘Retry Task’ button. In some embodiments, upon clicking the ‘Retry Task’ button, the wizard may return to the first step of the multi-port configuration workflow, as illustrated in FIG. 402.

Referring now to FIGS. 17 and 18, illustrated therein is an alternative embodiment of a job status graphical UI (FIG. 17) and job summary graphical UI (FIG. 18) which may be provided to a user during and after job execution, respectively. In some embodiments, upon user job submission and with reference to FIG. 17, a window 1702 (e.g., a modal popup window) may be provided (e.g., by a user interface of the user device 204). In the example illustrated in FIG. 17, the window 1702 indicates that the task is in progress (i.e., port configuration of selected ports is in progress). In contrast to FIG. 15, the example of FIG. 17 may not provide detailed status updates for each port. Upon job completion, the job summary graphical UI (FIG. 18) including a window 1802 (e.g., a modal popup window) may be provided to the user (e.g., by a user interface of the user device 204). In some embodiments, the summary UI of FIG. 18 may be substantially the same as the summary UI of FIG. 16, described above.

Thus, systems and methods have been described which provide an improved system for configuring multiple ports of a network switch, avoiding costly time loss and potential user errors. By using directed workflows, for example implemented in the form of a software wizard, a user is guided through the steps necessary to configure IHS ports. Thus, complex tasks are broken up into smaller tasks, while accurately accounting for port dependencies. In particular, at least some embodiments of the present disclosure provide a perception to the user that they are applying one configuring to multiple ports, while in reality, the backend may be running a plurality of smaller tasks. In the present embodiments, the wizard may also display port configuration summaries prior to committing to and applying any selected port configurations. Additionally, embodiments of the present disclosure also provide a UI which corresponds to a physical switch/port layout. Thus, embodiments of the present disclosure provides for efficient performance of IHS port configurations, thereby saving time and resources.

Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein. 

What is claimed is:
 1. A multi-port configuration system, comprising: a network switch including a plurality of ports, wherein each of the plurality of ports is configured to operate in at least one of a plurality of modes; and a user device that is configured to couple to the network switch, wherein the user device includes at least one non-transitory memory storing network switch information, and wherein the user device includes one or more hardware processors that are coupled to the at least one non-transitory memory and that are configured to read instructions from the at least one non-transitory memory to cause the system to perform the steps of: displaying, by a user interface on the user device, a congruent graphical representation of the network switch including the plurality of ports; receiving a selection of a group of ports of the plurality of ports to configure; responsive to the received selection of the group of ports, displaying, by the user interface on the user device, available configuration settings for the group of ports; receiving a configuration settings selection, selected from the available configuration settings, for configuring the group of ports; and providing the configuration settings selection to the network switch to configure the group of ports.
 2. The multi-port configuration system of claim 1, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: determining a port type for each port of the group of ports; and in response to determining the port type, displaying, by the user interface on the user device, the available configuration settings for the group of ports corresponding to the determined port type.
 3. The multi-port configuration system of claim 1, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: determining that at least one port of the group of ports has been previously configured; and in response to determining that the at least one port has been previously configured, displaying, by the user interface on the user device, a user prompt to notify a user and confirm whether the user wants to override the previous configuration of the at least one port.
 4. The multi-port configuration system of claim 1, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: creating a batch file, stored in the at least one non-transitory memory, which defines the configuration settings selection; and configuring, in response to execution of the batch file by the one or more hardware processors, the group of ports.
 5. The multi-port configuration system of claim 4, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: during the configuring, polling the network switch to determine a status of the configuring of the group of ports; and displaying, by the user interface on the user device, the status of the configuring of the group of ports.
 6. The multi-port configuration system of claim 4, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: during the configuring, encountering an error in configuring a particular port of the group of ports; and responsive to encountering the error, flagging the particular port and proceeding to configure a next port of the group of ports.
 7. The multi-port configuration system of claim 2, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: determining a first port type for a first subset of ports of the group of ports; in response to determining the first port type for the first subset of ports, displaying, by the user interface on the user device, the available configuration settings for the first subset of ports corresponding to the determined first port type.
 8. The multi-port configuration system of claim 7, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: determining a second port type for a second subset of ports of the group of ports; in response to determining the second port type for the second subset of ports, displaying, by the user interface on the user device, the available configuration settings for the second subset of ports corresponding to the determined second port type.
 9. The multi-port configuration system of claim 8, wherein the first and second port types include one of a copper port type, a small form-factor pluggable (SFP) port type, and an enhanced small form-factor pluggable (SFP+) port type.
 10. The multi-port configuration system of claim 1, wherein the available configuration settings include one or more of a speed, a duplex mode, an auto-negotiation mode, and a flow control.
 11. The multi-port configuration system of claim 1, wherein the one or more hardware processors are further operable to read instructions from the at least one non-transitory memory to perform the steps of: prior to providing the configuration settings selection to the network switch, displaying, by the user interface on the user device, a summary of the selected configuration settings for user verification.
 12. An information handling system (IHS) network, comprising: an IHS that is configured to connect to a network switch, the network switch including a plurality of ports; wherein the IHS is configured to display, by a user interface of the IHS, a congruent graphical representation of the network switch including the plurality of ports; wherein the IHS is configured to receive, by a user input device of the IHS, a selection of a group of ports of the plurality of ports to configure; wherein the IHS is configured to, in response to the selection of the group of ports, display, by the user interface of the IHS, available configuration settings for the group of ports; wherein the IHS is configured to receive, by the user input device of the IHS, a configuration settings selection, selected from the available configuration settings, for configuring the group of ports; and wherein the IHS is configured to provide, via the connection to the network switch, the configuration settings selection to the network switch to configure the group of ports.
 13. The IHS network of claim 12, wherein the IHS is configured to determine a port type for each port of the group of ports, and wherein the IHS is configured to, in response to the determination of the port type for each port of the group of ports, display, by the user interface of the IHS, the available configuration settings for the group of ports corresponding to the determined port type.
 14. The IHS network of claim 12, wherein the IHS is configured to determine that at least one port of the group of ports has been previously configured, and wherein the IHS is configured to, in response to the determination that the at least one port has been previously configured, display, by the user interface of the IHS, a user prompt to notify a user and confirm whether the user wants to override the previous configuration of the at least one port.
 15. The IHS network of claim 12, wherein the IHS is configured to create a batch file, stored in at least one non-transitory memory of the IHS, which defines the configuration settings selection, and wherein the IHS is configured to, in response to execution of the batch file by one or more hardware processors of the IHS which are coupled to the at least one non-transitory memory, configure the group of ports.
 16. The IHS network of claim 15, wherein the IHS is configured to, during the configuration of the group of ports, poll the network switch to determine a status of the configuration of the group of ports.
 17. A method for configuring multiple ports of a network switch, comprising: coupling an IHS to a network switch including a plurality of ports, wherein each of the plurality of ports is configured to operate in at least one of a plurality of modes; displaying, by an IHS user interface, a congruent graphical representation of the network switch including the plurality of ports; receiving, by the IHS, a selection of a group of ports of the plurality of ports to configure; based on the received selection of the group of ports, displaying, by the IHS user interface, available configuration settings for the group of ports; receiving, by the IHS, a configuration settings selection, selected from the available configuration settings, for configuring the group of ports; and providing, by the IHS, the configuration settings selection to the network switch to configure the group of ports.
 18. The method of claim 17, further comprising: determining, by the IHS, a port type for each port of the group of ports; and in response to determining the port type, displaying, by the IHS user interface, the available configuration settings for the group of ports corresponding to the determined port type.
 19. The method of claim 17, further comprising: configuring, by the IHS provided configuration settings selection, the group of ports; during the configuring, polling, by the IHS, the network switch to determine a status of the configuring of the group of ports; and displaying, by the IHS user interface, the status of the configuring of the group of ports.
 20. The method of claim 17, further comprising: configuring, by the IHS provided configuration settings selection, the group of ports; during the configuring, detecting, by the IHS, an error in configuring a particular port of the group of ports; and responsive to encountering the error, flagging, by the IHS, the particular port and proceeding to configure a next port of the group of ports. 